user-0 提问: 关于数据类型转换的问题！！！

回复:
user: user-1
content: 引用 28 楼 sholber 的回复:谁菜B，谁是超级大菜B，这个版块里的资深C鸟都知道，不用张着口臭的嘴嚷嚷，虚张声势。就尔等这修养，不配学什么知识，趁早洗洗睡吧。本王也乏了，都散了吧。钦此！ 目测你这SB 小学还未毕业吧？？

user: user-1
content: 引用 28 楼 sholber 的回复:谁菜B，谁是超级大菜B，这个版块里的资深C鸟都知道，不用张着口臭的嘴嚷嚷，虚张声势。就尔等这修养，不配学什么知识，趁早洗洗睡吧。本王也乏了，都散了吧。钦此！ 哇我以为你多牛B 呢？原来只是个只会骂人的菜B  ，连个代码都写不出来，还在这瞎BB ,我请你以后不要再侮辱c语言了好吗？ 学c语言需要智商不适合你。真的

user: user-2
content: 引用 27 楼 braveboyny 的回复:[quote=引用 26 楼 sholber 的回复:] [quote=引用 25 楼 braveboyny 的回复:] [quote=引用 24 楼 sholber 的回复:] [quote=引用 23 楼 braveboyny 的回复:] [quote=引用 20 楼 sholber 的回复:] [quote=引用 19 楼 braveboyny 的回复:] [quote=引用 18 楼 sholber 的回复:] [quote=引用 17 楼 braveboyny 的回复:] %d只管取4个字节，它管你什么类型 对于这种说法尽可一笑置之。                     ——幻上帝[/quote]  你哪来得自信？？？[/quote] 哪来的也不可能是来自语文课本。 谁又给了你这种惘顾事实的自信[/quote]  给爸爸举出一个32位下，%d不是取4个字节的例子来看看，毛长齐没？敢来BB 爸爸的回复？？[/quote]  这又冒出个32位来，即使在32下，也未必见得是4个字节。口臭就有理了？你愿错一辈子是你的事，你臭哄哄的，不管你了。我还是离你远点好。[/quote] 例子举出来，瞎B B ，谁不会？？？速度举个例子给爸爸看看[/quote] 就你这德性，还想从朕这里学知识，去去去，口臭撅远点。真烦人。[/quote]     一直在这东扯西扯的不正面回答我的问题，叫你举个例子也举不出来，就知道瞎BB  ，你哪来的自信？？小菜B  [/quote] 谁菜B，谁是超级大菜B，这个版块里的资深C鸟都知道，不用张着口臭的嘴嚷嚷，虚张声势。就尔等这修养，不配学什么知识，趁早洗洗睡吧。本王也乏了，都散了吧。钦此！

user: user-2
content: 谁菜B，谁是超级大菜B，这个版块里的资深C鸟都知道，不用张着口臭的嘴嚷嚷，虚张声势。就尔等这修养，不配学什么知识，趁早洗洗睡吧。本王也乏了，都散了吧。钦此！

user: user-1
content: 引用 26 楼 sholber 的回复:[quote=引用 25 楼 braveboyny 的回复:] [quote=引用 24 楼 sholber 的回复:] [quote=引用 23 楼 braveboyny 的回复:] [quote=引用 20 楼 sholber 的回复:] [quote=引用 19 楼 braveboyny 的回复:] [quote=引用 18 楼 sholber 的回复:] [quote=引用 17 楼 braveboyny 的回复:] %d只管取4个字节，它管你什么类型 对于这种说法尽可一笑置之。                     ——幻上帝[/quote]  你哪来得自信？？？[/quote] 哪来的也不可能是来自语文课本。 谁又给了你这种惘顾事实的自信[/quote]  给爸爸举出一个32位下，%d不是取4个字节的例子来看看，毛长齐没？敢来BB 爸爸的回复？？[/quote]  这又冒出个32位来，即使在32下，也未必见得是4个字节。口臭就有理了？你愿错一辈子是你的事，你臭哄哄的，不管你了。我还是离你远点好。[/quote] 例子举出来，瞎B B ，谁不会？？？速度举个例子给爸爸看看[/quote] 就你这德性，还想从朕这里学知识，去去去，口臭撅远点。真烦人。[/quote]     一直在这东扯西扯的不正面回答我的问题，叫你举个例子也举不出来，就知道瞎BB  ，你哪来的自信？？小菜B

user: user-2
content: 引用 25 楼 braveboyny 的回复:[quote=引用 24 楼 sholber 的回复:] [quote=引用 23 楼 braveboyny 的回复:] [quote=引用 20 楼 sholber 的回复:] [quote=引用 19 楼 braveboyny 的回复:] [quote=引用 18 楼 sholber 的回复:] [quote=引用 17 楼 braveboyny 的回复:] %d只管取4个字节，它管你什么类型 对于这种说法尽可一笑置之。                     ——幻上帝[/quote]  你哪来得自信？？？[/quote] 哪来的也不可能是来自语文课本。 谁又给了你这种惘顾事实的自信[/quote]  给爸爸举出一个32位下，%d不是取4个字节的例子来看看，毛长齐没？敢来BB 爸爸的回复？？[/quote]  这又冒出个32位来，即使在32下，也未必见得是4个字节。口臭就有理了？你愿错一辈子是你的事，你臭哄哄的，不管你了。我还是离你远点好。[/quote] 例子举出来，瞎B B ，谁不会？？？速度举个例子给爸爸看看[/quote] 就你这德性，还想从朕这里学知识，去去去，口臭撅远点。真烦人。

user: user-1
content: 引用 24 楼 sholber 的回复:[quote=引用 23 楼 braveboyny 的回复:] [quote=引用 20 楼 sholber 的回复:] [quote=引用 19 楼 braveboyny 的回复:] [quote=引用 18 楼 sholber 的回复:] [quote=引用 17 楼 braveboyny 的回复:] %d只管取4个字节，它管你什么类型 对于这种说法尽可一笑置之。                     ——幻上帝[/quote]  你哪来得自信？？？[/quote] 哪来的也不可能是来自语文课本。 谁又给了你这种惘顾事实的自信[/quote]  给爸爸举出一个32位下，%d不是取4个字节的例子来看看，毛长齐没？敢来BB 爸爸的回复？？[/quote]  这又冒出个32位来，即使在32下，也未必见得是4个字节。口臭就有理了？你愿错一辈子是你的事，你臭哄哄的，不管你了。我还是离你远点好。[/quote] 例子举出来，瞎B B ，谁不会？？？速度举个例子给爸爸看看

user: user-2
content: 引用 23 楼 braveboyny 的回复:[quote=引用 20 楼 sholber 的回复:] [quote=引用 19 楼 braveboyny 的回复:] [quote=引用 18 楼 sholber 的回复:] [quote=引用 17 楼 braveboyny 的回复:] %d只管取4个字节，它管你什么类型 对于这种说法尽可一笑置之。                     ——幻上帝[/quote]  你哪来得自信？？？[/quote] 哪来的也不可能是来自语文课本。 谁又给了你这种惘顾事实的自信[/quote]    给爸爸举出一个32位下，%d不是取4个字节的例子来看看，毛长齐没？敢来BB 爸爸的回复？？[/quote]  这又冒出个32位来，即使在32下，也未必见得是4个字节。口臭就有理了？你愿错一辈子是你的事，你臭哄哄的，不管你了。我还是离你远点好。

user: user-1
content: 引用 20 楼 sholber 的回复:[quote=引用 19 楼 braveboyny 的回复:] [quote=引用 18 楼 sholber 的回复:] [quote=引用 17 楼 braveboyny 的回复:] %d只管取4个字节，它管你什么类型 对于这种说法尽可一笑置之。                     ——幻上帝[/quote]  你哪来得自信？？？[/quote] 哪来的也不可能是来自语文课本。 谁又给了你这种惘顾事实的自信[/quote]   给爸爸举出一个32位下，%d不是取4个字节的例子来看看，毛长齐没？敢来BB 爸爸的回复？？

user: user-3
content: 说下我的理解思路：usc最后结果为0xff00，（中间数据类型的转换就不说明了）为无符号short型。有个疑问就是：printf的时候为%d，因此usc应该转换为int类型，这样分析的话，结果就不应该是65280了。。  问题在printf("%d", usc); usc是0xff00, 参数入栈的时候要要类型提升为int,作无符号扩展(因为usc是unsigned）, 所以是0x00 00 ff 00入栈。

user: user-4
content: 既然有溢出，那结果就不好说了

user: user-2
content: 引用 19 楼 braveboyny 的回复:[quote=引用 18 楼 sholber 的回复:] [quote=引用 17 楼 braveboyny 的回复:] %d只管取4个字节，它管你什么类型 对于这种说法尽可一笑置之。                     ——幻上帝[/quote]  你哪来得自信？？？[/quote] 哪来的也不可能是来自语文课本。 谁又给了你这种惘顾事实的自信

user: user-1
content: 引用 18 楼 sholber 的回复:[quote=引用 17 楼 braveboyny 的回复:] %d只管取4个字节，它管你什么类型 对于这种说法尽可一笑置之。                     ——幻上帝[/quote]  你哪来得自信？？？

user: user-2
content: 引用 17 楼 braveboyny 的回复:%d只管取4个字节，它管你什么类型 对于这种说法尽可一笑置之。                     ——幻上帝

user: user-1
content: %d只管取4个字节，它管你什么类型

user: user-2
content: 仅这几句就够了，不需要往下看了：      char  ca;     unsigned char ucb;     unsigned short usc;       ca = 128; 1，char类型的长度是1个字节，但1个字节含有几个比特，没有标准，C只要求大于等于8个比特，128或许能用char表示，或许不能； 2，char可能等价于signed char，也可能等价于unsigned char，取值范围不同。128或许能用char表示，或许不能。 综上所述，ca=128，这个128是否能用char（ca）表示，是实现定义的。

user: user-2
content: 引用 8 楼 u012421456 的回复:char赋128已经溢出了 引用 9 楼 u013163178 的回复:char 能表示的是-128~127， ca = 128；//已经溢出了 楼上说的对 引用 13 楼 halfword1982 的回复:unsigned short类型扩展为int类型时，仅在左边补充16位0，数值不会发生变化。一般来说，短类型向长类型扩展时，仅扩展符号位，数值不变。  开什么玩笑。

user: user-0
content: 引用 12 楼 zhao4zhong1 的回复:计算机组成原理→DOS命令→汇编语言→C语言（不包括C++）、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言（包括C++）、架构……  对学习编程者的忠告： 眼过千遍不如手过一遍！ 书看千行不如手敲一行！ 手敲千行不如单步一行！ 单步源代码千行不如单步对应汇编一行！  VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化，这样过一遍不就啥都明白了吗。 对VC来说，所谓‘调试时’就是编译连接通过以后，按F10或F11键单步执行一步以后的时候，或者在某行按F9设了断点后按F5执行停在该断点处的时候。 （Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。） 引用 12 楼 zhao4zhong1 的回复:计算机组成原理→DOS命令→汇编语言→C语言（不包括C++）、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言（包括C++）、架构……  对学习编程者的忠告： 眼过千遍不如手过一遍！ 书看千行不如手敲一行！ 手敲千行不如单步一行！ 单步源代码千行不如单步对应汇编一行！  VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化，这样过一遍不就啥都明白了吗。 对VC来说，所谓‘调试时’就是编译连接通过以后，按F10或F11键单步执行一步以后的时候，或者在某行按F9设了断点后按F5执行停在该断点处的时候。 （Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。）谢谢，授人以鱼，不如授人以渔！！！正在慢慢学习调试！！！

user: user-5
content: unsigned short类型扩展为int类型时，仅在左边补充16位0，数值不会发生变化。一般来说，短类型向长类型扩展时，仅扩展符号位，数值不变。

user: user-6
content: 计算机组成原理→DOS命令→汇编语言→C语言（不包括C++）、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言（包括C++）、架构……  对学习编程者的忠告： 眼过千遍不如手过一遍！ 书看千行不如手敲一行！ 手敲千行不如单步一行！ 单步源代码千行不如单步对应汇编一行！  VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化，这样过一遍不就啥都明白了吗。 对VC来说，所谓‘调试时’就是编译连接通过以后，按F10或F11键单步执行一步以后的时候，或者在某行按F9设了断点后按F5执行停在该断点处的时候。 （Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。）