zoukankan      html  css  js  c++  java
  • C语言中的位操作(5)固定位宽的符号扩展

         计算机的内嵌类型进行自动的符号扩展,比如char与int类型等等,但是也许你遇到一个有符号的二进制补码数x,并且使用仅仅b

    位,更进一步,也许你需要将x转化为整型,如果x为正数,一个简单的复制操作就可以搞定,但是如果为负数,符号位必须扩展。

    例如:假如我们仅仅用4位来存储一个数,于是-3用二进制就表示为1101,如果我们用8位,那么-3就表示为11111101.

    最值得注意的位是4位的相关数使用更多位数在左边进行填充,这被称为“符号扩展”,在C语言中,符号扩展对于固定长度的数很普

    通,因为位域可能是结构体或是联合体,例如:将5位数转换为全整型:

    int x;   //待转换的数
    int r;   //结果
    struct {signed int x:5;} s;
    r = s.x = x;
  • 相关阅读:
    动态规划训练之十
    数据结构训练之一
    图论训练之八
    数论训练之三
    动态规划训练之九
    动态规划训练之八
    动态规划训练之七
    杂题训练之三
    图论训练之七
    动态规划训练之六
  • 原文地址:https://www.cnblogs.com/xueda120/p/3068213.html
Copyright © 2011-2022 走看看