zoukankan      html  css  js  c++  java
  • C 语言中的有符号数和无符号数 沉沉_

    首先看一段程序:

    View Code
     1 #include "stdio.h"
     2 
     3 int main(void)
     4 {
     5     if ( 1 > 2)
     6     {
     7         printf("1 > 2 \n");
     8     }
     9 
    10     if (-1 > 2u)
    11     {
    12         printf("-1 > 2u \n");
    13     }
    14     
    15     if (-1 > 0u)
    16     {
    17         printf("-1 > 0u \n");
    18     }
    19 
    20     return 0;
    21 }

    上面为用VC++6.0测试的执行结果。这里面有两条隐含的C语言原则(出处:深入理解计算机系统第二版):

    1:C语言中大多数数字都默认为有符号数,包括常量,如3等;

    2:当执行一个运算时,如果它的一个运算符是有符号的而另一运算符是无符号的,那么C语言会隐式的将有符号参数强制类型转换为无符号数,并假设这两个数都是非负的,来执行这个运算。

    通过上述原则,我们能很容易推导出来上述结果的得出原因。

  • 相关阅读:
    Django Rest Framework 视图和路由
    DRF 权限 频率
    DRF 版本 认证
    Serializers 序列化组件
    学DRF之前
    RESTful
    windows下vmware配置nat网络
    python之路——网络编程
    图片上传
    数据库基本设计规范:
  • 原文地址:https://www.cnblogs.com/chenchenluo/p/2715903.html
Copyright © 2011-2022 走看看