社区
C#
帖子详情
Int是多少位的?
wantsong
2006-10-17 03:42:32
问题源于看到C#提供了两个关键字,checked和unchecked。其中unchecked用于取消整型算术运算和转换的溢出检查。
我想问问在什么场合下会使用unchecked,尽管编译可以过,但是运行时会报错啊。
一位朋友解释,在32位情况下是32位的运行可能出错,在64位时就不会报错了。这样的解释对么?
我理解int的长度是由.NET Framework管理的,即CLR,不会跟机器位数相关。
...全文
4249
47
打赏
收藏
Int是多少位的?
问题源于看到C#提供了两个关键字,checked和unchecked。其中unchecked用于取消整型算术运算和转换的溢出检查。 我想问问在什么场合下会使用unchecked,尽管编译可以过,但是运行时会报错啊。 一位朋友解释,在32位情况下是32位的运行可能出错,在64位时就不会报错了。这样的解释对么? 我理解int的长度是由.NET Framework管理的,即CLR,不会跟机器位数相关。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
47 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zxkid
2006-10-18
打赏
举报
回复
int -> System.Int32 32位
long -> System.Int64 64位
与机器无关
xingyaohua
2006-10-18
打赏
举报
回复
32
SupermanZgn
2006-10-18
打赏
举报
回复
JF
wuhuiITren
2006-10-18
打赏
举报
回复
mark
zhouyan024
2006-10-18
打赏
举报
回复
C#中int是32位。不管几位机
fls975
2006-10-18
打赏
举报
回复
32位 与机器无关
xxj
2006-10-18
打赏
举报
回复
一般都是32位的. 不管是那种语言.
jazy
2006-10-18
打赏
举报
回复
mark
江城老温
2006-10-18
打赏
举报
回复
跟硬件有关系吧。
64位机,int是64位(8字节)。
32位机,int是32位(4字节)。
julong88
2006-10-18
打赏
举报
回复
32
在c/c++里是跟机器有关的吧
xiantao123
2006-10-18
打赏
举报
回复
讨论的热闹呀,我本也想发表下看法,看完大家的回复,我也糊涂了。
期待正解
xiaoxiangx
2006-10-18
打赏
举报
回复
int是指int32
uncheck就如楼上的朋友们说的
是不检查溢出,在C#入门经典里也有提到,你可以去查一下
nuoboxgx
2006-10-18
打赏
举报
回复
32bit
yjbgwxf123
2006-10-18
打赏
举报
回复
32位
test33
2006-10-18
打赏
举报
回复
是不是 跟机器不一样吖`
那 双核的呢`
boovo
2006-10-18
打赏
举报
回复
学习先
yeerh
2006-10-17
打赏
举报
回复
32位的操作系统64位的CPU下还是 32位.
64位的操作系统64位的CPU未用过..不清楚
跟机器位数无关....即使有也是跟操作系统有关
Nick_Nick
2006-10-17
打赏
举报
回复
上面的有错误,应该是byte b = (byte)(255+2)
Nick_Nick
2006-10-17
打赏
举报
回复
c#中的int是int32的简写,不管机器是多少位的,他总是32位的。
Nick_Nick
2006-10-17
打赏
举报
回复
如果算术运算结果位数超出了变量类型的最大表示位数,则会溢出
比如说
byte b = 255 + 2
由于Byte类型只能表示0-255,无法表示257,就出现了溢出错误
如果用了checked(默认情况)程序就会跑出一个异常
如果用了unchecked,程序就不会抛出异常,而是忽略溢出错误,这时b=1
int也是一样的
ps:记不清byte是不是无符号的了,如果错了,就错了吧,意思明白就行了
加载更多回复(27)
int
多少
位
,long 多少
位
Int
16 值类型表示值介于 -32768 到 +32767 之间的有符号整数。
Int
32 值类型表示值介于 -2,147,483,648 到 +2,147,483,647 之间的有符号整数。
Int
64 值类型表示值介于 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数。
int
是32
位
整数上限是 (2^...
int
在64
位
系统是多少
位
int
在64
位
系统是多少
位
go中
int
到底有多少
位
?
There are also two types called just
int
and u
int
that are the natural or most efficient size of signed and unsigned
int
egers on a particular platform;
int
is by far the most widely used numeric type...
单片机中
int
和long有多少
位
虽然在你这个平台上面,都是32
位
,但可能编译器能把
int
优化得更高。在可能的情况下,尽量用
int
来做运算效率最高。这样的运算在64
位
的平台上面肯定没
int
的高。(C51中
int
是16
位
这个是个特例)long long为8 Byte。short为2 Byte;在16
位
的CPU上是16
位
。在32
位
的CPU上是32
位
。在64
位
的CPU上是64
位
。char为1 Byte;
int
在64
位
操作系统中占多少
位
?
仍然是32
位
。曾经是这样的:16
位
操作系统中,
int
占16
位
;在32
位
操作系统中,
int
占32
位
。但是现在人们已经习惯了
int
占32
位
,因此在64
位
操作系统中,
int
仍为32
位
。64
位
整型用 long long 或者 __
int
64 转载于:https://www.cnblogs.com/lvdongjie/p/6553742.html...
C#
111,129
社区成员
642,534
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章