精华内容
下载资源
问答
  • 数字高位和低位,数据高低位
    千次阅读
    2021-04-23 08:04:49

    内容导航:

    Q1:计算机知识,什么是高位和低位?

    字是两个字节,也就是16个零或一组成的,例如0000 0000 0000 0000,这十六个位置中前八个就是高位,后八个是低位。内存是按字节存放的,而后面八个零会放在物理地址x的位置上,而前面八个会放在x+1的位置上,也就是高位,不知道你懂了没。

    Q2:什么是高位进位和低位进位啊,(数字电子技

    你提供的电路里s,c为一个二进制2位数。那么s、c必然有一个是高位,有一个是低位。假定s是高位、c为低位,那么这个二进制2位数就是sc。若在s上发生进位,就是高位进位;若在c上发生进位,那就是低位进位。

    Q3:C语言中的高位字节和低位字节是什么意思?

    通常我们从最高有效位(most significant digit)开始自左向右书写一个数字。在理解有效位这个概念时,可以想象一下你的支票数额的第一位增加1和最后一位增加1之间的巨大区别,前者肯定会让你喜出望外。

    计算机内存中一个字节的位相当于二进制数的位,这意味着最低有效位表示1,倒数第二个有效位表示2×1或2,倒数第三个有效位表示2×2×1或4,依此类推。如果用内存中的两个字节表示一个16位的数,那么其中的一个字节将存放最低的8位有效位,而另一个字节将存放最高的8位有效位,见图10.5。存放最低的8位有效位的字节被称为最低有效位字节或低位字节,而存放最高的8位有效位的字节被称为最高有效位字节或高位字节。

    高位字节 低位字节

    ↓--------------------------↓ ↓---------------------------↓

    15 14 13 12 11 10 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.

    图 10.5 双字节整数中的位

    Q4:通常听人说高位数与低位数,什么是高位什么是低位?通常指的是字母和数字吧??

    我是学计算机的,一般高位数低位数是指计算机里16,32,64三种二进制位数的表示。对于十六位,低位数是指前面的低八位,高位就是后面的高八位,32与64位数的以此类推。楼主如果学过二进制数,对这个就会比较了解了。

    Q5:int类型数据的高位和低位是什么意思?

    int表示“基本整型”。

    类型说明符为int,在内存中占4个字节(有的是2个字节,不同的编译系统中有差异)。

    一个int类型数据是32位,也就是四个字节 ,而bit类型数据占1个字节,也就是8位,那就用short型保存其高2Byte和低2Byte。

    用取位移位的方法来做,比如:

    int a = 0x33445566;

    short high_a = (a & 0xffff0000) >> 16;

    short low_a = a & 0xffff

    的方法得到int类型数据的高位和低位。

    分配字节数

    int -32768~32767

    short int -32768~32767

    signed int -32768~32767

    unsigned int 0~65535

    long int -2147483648~2147483647

    unsigned long 0~4294967295

    Q6:内存的高低位,数值的高低位

    内存中的数据, 就是二进制的, 最右边的就是地位,最左边的就是高位, 因为按照 2的0,1,2,3,4,5,6,7次方来求得二进制数....

    输出数据的时候,只和本身的数据有关吧, 不会有高低位的区别吧、

    在汇编里面,高低位用的才比较多点

    更多相关内容
  • js代码-单调递增的数字 高位跟低位比,低位大,直接减一,后面所有位置为9
  • /*从高位到低位输出一个整数的数字PGYZ*/ #include<iostream> using namespace std; int main(void) { int n,i,j=0,a[10]; cout"输出一个整数; cin>n; if(n) {cout"符号位为-; n=-n; } else cout"符号位
  • c代码-10.键盘输入一个正整数s,从低位开始取出s中奇位上的作为高位,依次构成一个新输出。例如,输入"54321",输出"135"。
  • 什么是高位,中位低位数

    千次阅读 2019-10-22 14:15:15
  • /*从高位到低位输出一个整数的数字PGYZ*/ #include<iostream> using namespace std; int main(void) { int n,i,j=0,a[10]; cout"输出一个整数; cin>n; if(n) {cout"符号位为-; n=-n; } else cout"符号位为+\n; cout...
  • JAVA int类型 获取高低位

    千次阅读 2019-05-24 17:20:12
    去年笔者和一个硬件厂商调试打印机的时候遇到这个一个问题,厂商需要打印报文中传输报文的长度标志,将长度的高位和低位放到两个字节里,笔者由于基础知识不牢固,在这个问题上浪费了较长时间,今年开始写博客了,就...

    去年笔者和一个硬件厂商调试打印机的时候遇到这个一个问题,厂商需要打印报文中传输报文的长度标志,按大端序,将长度的高位和低位放到两个字节里,笔者由于基础知识不牢固,在这个问题上浪费了较长时间,今年开始写博客了,就记录一下这个问题。笔者使用了int来记录长度,其实应该用两个字节的short来记录,这样更简单。

    大小端序

    要想拿int的高低位字节,首先要理解大小端序。这里以int举例,int有四个字节A,B,C,D。那么内存里存储int类型占用了四个字节的位置,这四个字节在内存中肯定占用了连续递增的四个地址,大小端序指得就是这四个字节在这四个地址中是顺序排列的还是逆序排列的。如果是顺序排列的,那么我们叫大端序,如果是逆序排列的,就叫小端序。

    再拿网络传输这个int值来举例,甲向乙传输数据,乙拿到甲传的字节数组以后要知道怎么拼接这四个字节,如果甲是按顺序传输这四个字节,而乙按逆序拼接四个字节,那么双方得到的int值肯定是不一样的。那么怎么解决这个问题呢?方法就是双方协定一个顺序,比如按大端序传输,甲将四个字节按大端序传输给乙,乙再按大端序拼接字节,这样双方得到的int值就是一样的了。

    总结一下就是,大端序,高位字节在前,低位字节在后。小端序,高位字节在后,低位字节在前。一般交互都是默认大端序。

    获取int的高低位字节数组

    这里给出了大小端序的int和字节数组互转函数

    
        /**
         * 小端序 字节数组转int
         *
         * @param bytes
         * @return
         */
        public static int littleEndian(byte[] bytes) {
            return (bytes[0]&0XFF)
                    | ((bytes[1]&0XFF) << 8)
                    | ((bytes[2]&0XFF) << 16)
                    | ((bytes[3]&0XFF) << 24);
        }
    
        /**
         * 大端序 字节数组转int
         *
         * @param bytes
         * @return
         */
        public static int bigEndian(byte[] bytes) {
            //System.out.println(String.format("%32s", Integer.toBinaryString(bytes[3]&0XFF)).replaceAll("\\s", "0"));
            //System.out.println(String.format("%32s", Integer.toBinaryString(((bytes[2]&0XFF) << 8)).replaceAll("\\s", "0")));
            //System.out.println(String.format("%32s", Integer.toBinaryString(((bytes[1]&0XFF) << 16)).replaceAll("\\s", "0")));
            //System.out.println(String.format("%32s", Integer.toBinaryString(((bytes[0]&0XFF) << 24)).replaceAll("\\s", "0")));
    
            return (bytes[3]&0XFF)
                    | ((bytes[2]&0XFF) << 8)
                    | ((bytes[1]&0XFF) << 16)
                    | ((bytes[0]&0XFF) << 24);
        }
    
        /**
         * 大端序 int转字节数组
         *
         * @param i
         * @return
         */
        public static byte[] bigEndian(int i) {
            int byte1 = i & 0XFF;
            int byte2 = (i & 0XFFFF) >>> 8;
            int byte3 = (i & 0XFFFFFF) >>> 16;
            int byte4 = (i & 0XFFFFFFFF) >>> 24;
            return new byte[]{(byte) byte4, (byte) byte3, (byte) byte2, (byte) byte1};
        }
    
        /**
         * 小端序 int转字节数组
         *
         * @param i
         * @return
         */
        public static byte[] littleEndian(int i) {
            int byte1 = i & 0XFF;
            int byte2 = (i & 0XFF << 8) >> 8;
            int byte3 = (i & 0XFF << 16) >> 16;
            int byte4 = (i & 0XFF << 24) >> 24;
            return new byte[]{(byte) byte1, (byte) byte2, (byte) byte3, (byte) byte4};
        }
    
    
        public static void main(String[] args) {
            int a = new Random().nextInt();
            String s = String.format("%32s", Integer.toBinaryString(a)).replaceAll("\\s", "0");
            System.out.println("原数据:             " + s.substring(0, 8) + " " + s.substring(8, 16) + " " + s.substring(16, 24) + " " + s.substring(24, 32) + " ");
    
            byte[] bytes = bigEndian(a);
            System.out.printf("大端序-int转字节数组:");
            for (int i = 0; i < bytes.length; i++) {
                System.out.print(String.format("%8s", Integer.toBinaryString(bytes[i] & 0XFF)).replaceAll("\\s", "0") + " ");
            }
            System.out.println();
            System.out.println("大端序-字节数组转int验证:" + (bigEndian(bytes) == a));
    
            byte[] bytes2 = littleEndian(a);
            System.out.printf("小端序-int转字节数组:");
            for (int i = 0; i < bytes2.length; i++) {
                System.out.print(String.format("%8s", Integer.toBinaryString(bytes2[i] & 0XFF)).replaceAll("\\s", "0") + " ");
            }
            System.out.println();
            System.out.println("小端序-字节数组转int验证:" + (littleEndian(bytes2) == a));
        }
    }
    
    原数据:             10010100 11111001 01101110 00100011 
    大端序-int转字节数组:10010100 11111001 01101110 00100011 
    大端序-字节数组转int验证:true
    小端序-int转字节数组:00100011 01101110 11111001 10010100 
    小端序-字节数组转int验证:true

     

     

    展开全文
  • 易语言低位高位模块源码
  • /** ... * 十六进制高低位转换,返回十进制 * @param str * @return */ public static String decodeHexStringToDec(String str) { str =HighLowHex(spaceHex(str)); String value =...
    /**
         * 十六进制高低位转换,返回十进制数
         * @param str
         * @return
         */
        public static String decodeHexStringToDec(String str) {
            str =HighLowHex(spaceHex(str));
            String value =new BigInteger(str, 16).toString();
            return value;
        }
        
        /**
         * 十六进制数隔空位
         * @param str
         * @return
         */
        private static String spaceHex(String str){
            char[] array= str.toCharArray();
                if(str.length()<=2) return str;
                    StringBuffer buffer =new StringBuffer();
                    for(int i=0;i<array.length;i++){
                    int start =i+1;
                    if(start%2==0){
                        buffer.append(array[i]).append(" ");
                    }else{
                        buffer.append(array[i]);
                    }
                }
            return buffer.toString();
        }
        
        /**
         * 高位16进制转低位
         * @param str
         * @return
         */
        private static String HighLowHex(String str){
            if(str.trim().length()<=2) return str;
            List<String> list = Arrays.asList( str.split(" "));
            Collections.reverse(list);
            StringBuffer stringBuffer = new StringBuffer();
            for(String string:list){
                stringBuffer.append(string);
            }
            return stringBuffer.toString();
        }

     

    转载于:https://www.cnblogs.com/huyanlon/p/10337634.html

    展开全文
  • == b'U\xaa': # 判断帧头 # 接收含有高低位的十六进制 temp_in0 = str(hex(recv_data[4])) # 高位 # print(temp_in0) # 0x3 temp_in1 = str(hex(recv_data[5])) # 低位 # print(temp_in1) # 0xb9 temp_in11 = ...
  • 今天在调试一个测温模块的时候遇到十六进制的高位和低位组合,板子通过串口发送指令给模块,并读取模块返回的温度值,但是模块返回的是一个十六进制的报文,实际温度值是分为两个十六进制的,高位在前,低位在后,...
  • 取一个的高位、低位

    千次阅读 2017-11-16 16:38:01
    取一个16位、低16位,4位、低4位
  • 判断一个高位到低位是否是从小到大排列 输入一批正整数(以零或负数为结束标志),判断每个从高位到低位的各位数字是否按值从小到大排列。要求定义和调用函数fun(m)判断m中各位数字是否按值从小到大排列,满足...
  • 低位开始取出长整型变量s中奇位上的依次构成一个新放在t中 例如:当s中的为:7654321时,t中的为:7531 这里写两种简单的做法 第一种–通过数组 这里需要注意的就是因为获取长数字的是从后往前取到...
  • 低位开始,求出偶数位的,然后组成新,放入变量m中
  • 循环算法 io编程应用 算法如下 public void Circulate(int n){ int i=0; int j=0; int[] tempArray; tempArray=new int[30]; while(n>=10) { tempArray[i]=n; i++; n/=10; } tempArray[i]=n;... }
  • 那么高位字节就是FF,低位是1A 如果是32位的数据,比如3F68415B 高位字(不是字节)是3F68 低位字是415B 右边是低位位,左边是高位 C语言中的高位字节和低位字节是什么意思? 通常我们从最高有效位(most ...
  • * 从键盘输入一个n位数(最多7位),从输入低位开始取出其中偶位上的,依次构成一个新放在t中。 * 例如,当s中的为:7654321时,t中的为:642 */ public class ZY6 { public static void main...
  • 功能:从低位开始取出长整型变量s中偶位上的,依次构成一个新放在t中; 例如:当s中的为:7654321时,t中的为:642;
  • 多位加法器

    2021-02-03 17:45:16
    串行进位加法器图3-12为四位串行进位加法器的逻辑框图。这种加法器的构成比较简单,只需把...A3~A0和B3~B0是四位加和被加,F3~F0是和数,CO4是向高位的进位信号。优点:速度快。缺点:规模大时所用的元器件较多
  • 例如,当s中的为:7654321,t中的为:7531 #include <stdio.h> int main() { long s, t, s1 = 10; printf("\nplease enter s:"); scanf("%ld", &s); t = s % 10; while (s > 0) { s = s / ...
  • 战略科技(计算机)行业周报:持仓比例位于历史低位,关注数字经济核心赛道.pdf
  • 高位仍在高位,低位仍在低位。例如当s中的为87653142时,t中的为7531。请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#...
  • 我们来分析一下这个例子,首先这道题其实就是将一个16进制的高低8位进行分离,offset = 0x1234 ,将这个右移8位,然后与上0xff便取到了这个8位12,将offset与上0xff便取到了这个的低8位,这样就达到了分离...
  • LabVIEW字符串到16进制转换时高低位换位解决方法 博主目前提供3种解决方法,最提倡第3种。 第3种方法可以适应字符串中所有的操作。前两种要一个一个调比较麻烦。 当然可以使用公式节点、调用脚本等方法,,,那就是...
  • 递归实现十进制从高位到低位依次输出 主要是我对递归算法的初步理解后试手制作希望对你有用
  • C++ 位操作 --取出short的高低位 short sVal = 8; short 取高低位 BYTE bHIGH, bLow; 高位:bHIGH = sVal &...高低位 转 short BYTE bHigh, bLow; bHigh = 01110001; bLow = 01011101; short s...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,214
精华内容 48,485
热门标签
关键字:

数的高低位