Int类型变量按高(两个字节)、低(两个字节)拆分成两个变量是什么意思

时间:2023-01-11 17:08:25
数据库里就算把int从十进制转换成二进制,二进制的位数也不是固定的啊 

谁知道这题应该怎么做.....

10 个解决方案

#1


你搞研究的?

#2


整不明白啊》。。。。

#3


是什么意思?、是需要写SQL函数么

#4


说实话我也不明白题目是什么意思

高位低位也第一次听说,有这个说法吗?? 


数据库里的int虽然说是占4个字节,但大多数int值远没有4个字节(32位啊),这可如何是好

#5


SQL中INT数据类型的存储空间是4个字节,表示从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 


是不是int=4 
可以用2^1+2^1

int=5
可以用2^2+2^0
就是拆成2个,各占2个字节?

#6


可能就是楼上说的这种意思,麻烦写下一个完成的用户函数 谢了,参数为要处理的int变量

#7


T_T,谁有资料 我自己研究 

#8


百度里问到得答案

用short型保存其高2Byte和低2Byte。
取的时候用取位移位的方法来做,比如:
int a = 0x33445566;
short high_a = (a & 0xffff0000) >> 16;
short low_a = a & 0xffff;

看不懂  T_T

#9


declare @num int
declare @i int
set @num=42
set @i=1
while Power(2,@i)<@num 
begin 
set @i=@i+1
end
select Power(2,@i-1),@num-Power(2,@i-1)
不知道是不是这样拆分

#10


问题的对我说,是实现类似于socket通信时  字节的分割 -_-~~

#1


你搞研究的?

#2


整不明白啊》。。。。

#3


是什么意思?、是需要写SQL函数么

#4


说实话我也不明白题目是什么意思

高位低位也第一次听说,有这个说法吗?? 


数据库里的int虽然说是占4个字节,但大多数int值远没有4个字节(32位啊),这可如何是好

#5


SQL中INT数据类型的存储空间是4个字节,表示从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 


是不是int=4 
可以用2^1+2^1

int=5
可以用2^2+2^0
就是拆成2个,各占2个字节?

#6


可能就是楼上说的这种意思,麻烦写下一个完成的用户函数 谢了,参数为要处理的int变量

#7


T_T,谁有资料 我自己研究 

#8


百度里问到得答案

用short型保存其高2Byte和低2Byte。
取的时候用取位移位的方法来做,比如:
int a = 0x33445566;
short high_a = (a & 0xffff0000) >> 16;
short low_a = a & 0xffff;

看不懂  T_T

#9


declare @num int
declare @i int
set @num=42
set @i=1
while Power(2,@i)<@num 
begin 
set @i=@i+1
end
select Power(2,@i-1),@num-Power(2,@i-1)
不知道是不是这样拆分

#10


问题的对我说,是实现类似于socket通信时  字节的分割 -_-~~