#include <stdio.h>
/*
十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方;
在16进制中:a(A)=10 b(B)=11 c(C)=12 d(D)=13 e(E)=14 f(F)=15
例如:CE=12*16^1+14*16^0=192+14=206
*/ //右旋转把第一位 放到最后 0x2345 => 0x3452 num左移1位0x3450;即1个16进制位等于4个二进制位
//或上 num右移3位0x0002 相当于3*4=12个二进制位
unsigned short int right(unsigned short int num, int n){
return (num<<n) | (num>>(sizeof(num)*8-n));
}
//左转 0x2345=>0x5234 num左移3位(等于12个二进制位) num右移1位(4个二进制位)
unsigned short int left(unsigned short int num, int n){
return ( num << (sizeof(num)*8-n)) | (num>>n);
}
int main(void)
{
unsigned short int num = 0xFA;// 最多4个 0xFABCD 报错
unsigned short int num2 = 0x2345; //short int 短整型占2个字节 共2*8=16个二进制位 printf("您输入的十六进制数:%#x\n",num2);
printf("%#x十六进制数转换成十进制为:%d\n",num2,num2); printf("该十六进制数占二进制位:%d 个位\n",sizeof(num2)*8); //0x2345占2个字节 0000 0000 0000 0000 16位 printf("%#x右边旋转:%#x\n",num2,right(num2,4)); printf("%#x左边旋转:%#x\n",num2,left(num2,4)); return 0;
}

  

C语言十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方的更多相关文章

  1. 用Linux/Unix命令把十六进制转换成十进制(转)

    那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了. 先列两种简单的方法: 1) echo 自己就能 ...

  2. Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制

    问题描述 请问十六进制数1949对应的十进制数是多少?请特别注意给定的是十六进制,求的是十进制. 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这 ...

  3. Java中将0x开头的十六进制字符串转换成十进制整数

    1.Integer.toString(int i) 由于input(输入数据)是以0x开头的字符串,并不是整型.因而在用 String s = Integer.toString(input); 时用会 ...

  4. 输入二进制数转换成十进制数(在cin>>和cin.get()上掉的坑)

    题目:输入一个二进制数转换成十进制. 题目分析:书上说,在一般情况下,c++的键盘输入可以识别是十进制数.八进制数和十六进制数,因此输入的二进制数据要作为字符处理.(其实我觉得数字也没问题吧). 正确 ...

  5. 二进制 转换成十进制 BCD码(加3移位法)

    "原来的二进制数十几位,则左移时就要左移几位" "二进制数调整BCD码的方法是将二进制码左移8次,每次移位后都检查低四位LSD+3是否大于7,如是则加3,否则不加,高4位 ...

  6. delphi 十进制十六进制转换

    delphi有提供十进制转换成十六进制的函数: IntToStr();   返回值为String // 十进制转十六进制 var i: integer; str: string; begin i := ...

  7. Python 二进制,十进制,十六进制转换

    十六进制 到 十进制 使用 int() 函数 ,第一个参数是字符串 '0Xff' ,第二个参数是说明,这个字符串是几进制的数.  转化的结果是一个十进制数. >>> int('0xf ...

  8. Java 二进制,八进制,十进制,十六进制转换

    A.十进制转换其他 十进制转成二进制  Integer.toBinaryString(int i) 十进制转成八进制  Integer.toOctalString(int i) 十进制转成十六进制:  ...

  9. IOS 十六进制字符串转换成UIColor

    /** * 十六进制转换成UIColor * * @param stringToConvert 十六进制字符串 * * @return UIColor */ +(UIColor *) hexStrin ...

随机推荐

  1. 微信公众号 分享接口 签名通过 分享无效果(JSSDK自定义分享接口的策略调整)

    为规范自定义分享链接功能在网页上的使用,自2017年4月25日起,JSSDK“分享到朋友圈”及“发送给朋友”接口,自定义的分享链接,其域名或路径必须与当前页面对应的公众号JS安全域名一致,否则将调用失 ...

  2. 如何在Oracle触发器中使用查询语句

    通常情况下,Oracle数据库禁止在行级触发器或行级触发器所调用的子程序中使用查询语句.但是,面对复杂的业务逻辑,不可避免的要使用查询语句. 当在行级触发器中使用查询语句时,Oracle数据库会抛出O ...

  3. canvas上画出坐标集合,并标记新坐标,背景支持放大缩小拖动功能

    写在前面:项目需求,用户上传一个区位的平面图片,用户可以在图片上添加新的相机位置,并且展示之前已绑定的相机坐标位置,图片支持放大缩小&拖动的功能.新增坐标,页面展示相对canvas定位,保存时 ...

  4. 谷歌浏览器解决ajax跨域问题

    在用mui和H5+做混合开发,会利用HBuildx去真机调试,可真机调试总有问题所在,懂得人自然懂,而我们直接打开页面显示的只有一个静态的页面,是获取不到数据的在这里我想说的不是代码中利用jsonp, ...

  5. Spring中Bean的基本概念

    一.Bean的定义 <beans…/>元素是Spring配置文件的根元素,<beans…/>元素可以包含多个<bean…/>子元素,每个<bean…/> ...

  6. web项目中添加定时任务

    1.在web.xml中添加servlet <servlet> <servlet-name>StatisticInitServlet</servlet-name> & ...

  7. II、Vue的项目目录结构 一些语法

    Vue目录结构 这是某闭源项目的web端目录结构: 目录解析: -目录/文件 - build 项目构建(webpack)相关代码 config 配置目录.端口号:也有默认的 node_modules ...

  8. dockerfile命令说明及使用

    执行Dockerfile命令: docker build -f /path/to/a/Dockerfil Dockerfile的基本结构 Dockerfile 一般分为四部分:基础镜像信息.维护者信息 ...

  9. python之变量的数据类型(3)dict 及解构简单介绍

    一.变量的数据类型(3) 1. dict 字典dict 用{}来表示 键值对数据 {key:value} 唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 2.增删 ...

  10. 使用IDEA将springboot框架导入的两种方法

    第一种新建Maven,导入springboot所依赖的jar包   1.新建一个maven项目,下一步命名,保存文件地址,点击完成         2.进去springboot下载(点击进入),复制p ...