假设我要存储数据类型为整数的变量。 整数提供一定范围的2字节或4字节。 也在-32768到32767之间。 我想存储32768。 我该怎么办?
答案 0 :(得分:1)
在不同的平台上,int
在C中的大小不同。有时,如您所说,它们是2个字节,有时是4个字节,依此类推。因此,如果是2个字节,则为16位,因此可以存储2 ^ 16 = 65536个不同的值。由于您使用的是带符号的值,因此这些值中有一半为负值,因此这就是为什么您不能在此处为int
输入更大的值的原因。但是,如果您使用的是C99或更高版本,则可以通过包含int32_t
来使用stdint.h
。这样最多可以存储2 ^ 31-1 = 2,147,483,647。
答案 1 :(得分:0)
在所有C实现中,都有一种数据类型可以保证保持该范围。它称为declare
stud_Id student_backup.student_id%type;
begin
insert into users(student_id,password,status)
select b.student_id,'password','status'
from student_backup b
left join users u on b.student_id = u.student_id
where is_active_flg ='Y' ;
commit;
end;
/
。也许改用那个。
另外,32位平台通常会将其设置为32位。唯一的区别是64位平台,其中某些平台可能会使用64位数据类型。
如果存储要求很重要,请使用long int
。