一个数值转化为二进制 位运算和位域
在嵌入式系统和单片机开发中,数值转化为二进制是非常常用的,对与位域可能很多上层开发人员都
不曾见到,位域在MCU开发中常用的使用的,例如一个开关量和高低电平信号,只用0和1两种状态。
下面是我做项目时候写的代码拿出来和大家分享
typedef unsigned char UCHAR;typedef union
{UCHAR byte;struct{UCHAR a0:1;UCHAR a1:1;UCHAR a2:1;UCHAR a3:1;UCHAR a4:1;UCHAR a5:1;UCHAR a6:1;UCHAR a7:1;}bit;
}UA;/***********************************************************
Function : toBin
Description : decimal base covertion binary
Parameter : num is decimal base. d[] is seve binary values
Return : void
Date : 2013.12.27
Authot : Puls
************************************************************/
void toBin(UCHAR num, UCHAR d[])
{int i;for(i=0; i<8; i++){d[i] = num>>i&1;}
}/***********************************************************
Function : test
Description : bin store the num
Parameter : void
Return : void
Date : 2013.12.27
Authot : Puls
************************************************************/
void test()
{UCHAR i;UCHAR temp[8];UCHAR num = 0xE8;toBin(num, temp);for(i=0; i<8; i++){printf(“%d, ”, temp[i]);
}
}/***********************************************************
Function : bitArea
Description : use bitArea that num to bin
Parameter : void
Return : void
Date : 2013.12.27
Authot : Puls
************************************************************/
void bitArea()
{UA A;UCHAR num = 30;A.byte = num;}
一个数值转化为二进制 位运算和位域相关推荐
- [剑指offer][JAVA]面试题第[16]题[数值的整数次方][位运算][二分法]
[问题描述][中等] 实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题.示例 1:输入: ...
- 颠倒二进制[位运算]
颠倒二进制 前言 一.颠倒二进制 二.解 1.逆序存储 2.分治颠倒 总结 参考文献 前言 颠倒二进制,可以直接将二进制逆序存储,得到新的数:也可分治快速颠倒. 一.颠倒二进制 二.解 1.逆序存储 ...
- c#如何将一个整数转换二进制,并进行位运算
进行位运算,是不需要转化成二进制的. CPU在运算的时候,内部把所有数据都看成二进制.Convert 看类名就知道,是提供一个转换函数的. 位运算只能在 byte, char, short, usho ...
- Java位运算不一定比乘法快 (关于java数据运算的一些思考)
wtf???Java乘法会比位运算快??你一定是在逗我!!哈哈哈,当时也困扰了我,让我们继续向下看. 我们学习c的时候,都会遇到位运算快于乘法运算的情况,当时老师讲的是计算机只有加法运算,乘法运算的运 ...
- 位运算笔记(个人笔记)
文章目录 声明 前言 #各个进制之间的转化# 一.位运算的解释 1.按位与(&) 2.按位或(|) 3.按位异或(^) 4.按位取反(~) 5.左移位(<<) 6.右移位(> ...
- C语言截取整数的某些位编程,C语言中位运算的巧用(转)
一 .位运算实例 1.用一个表达式,判断一个数X是否是2的N次方(2,4,8,16.....),不可用循环语句. X:2,4,8,16转化成二进制是10,100,1000,10000.如果减1则变成0 ...
- 位运算 位运算应用
本页目录 位运算分为2个大类 位于 &(一0则0) 位或| (双0则0) 异或 ^(互异则1) 利用异或可实现一个小面试题,如何不添加变量,实现数据的替换 按位取反 ~ 左移 << ...
- 刷题日记 acwing 2058笨拙的手指 位运算的运用,迭代器的使用,秦九稍(别的进制转化为10进制)
#include<iostream> #include<unordered_set> using namespace std; int get(string a,int b)秦 ...
- 十进制整数转化为二进制详解
要想编写十进制转化成二进制的带码首先要清楚十进制转化成二进制的算法,下面我们从两个方面实现这个转化: 1.按照十进制转化成十进制的常规算法实现: 普通算法实现: 我们举一个简单的例子,比如取整数52 ...
最新文章
- ST为飞行时间传感器增加了多目标测距
- C/Cpp / STL / 类型萃取
- ios ionic3 跳转第三方地图 xcode加入白名单
- leetcode 640. Solve the Equation | 640. 求解方程(字符串处理)
- 前端学习(1661):前端系列实战课程之获取点击位置
- 聊天系统服务器端类图怎么画,聊天系统服务器端类图
- 基本电路概念(一)什么是电压?
- python不用sort排序_Python排序之sortamp;sorted
- isset,empty,is_null小知识
- 大数据对企业竞争的作用
- 深入理解 Python 异步编程(上)
- Quick_Cocos2d_x V3.3 Protobuf Android
- 一网打尽 SCI、SCIE、SSCI 、EI等指标及影响因子查询
- html规范eml文件,eml文件【操作办法】
- qt多级菜单_Qt高仿电脑管家界面(二):点击按钮弹出菜单
- Ubuntu 如何直接回到桌面
- 互联网创新影院:5G有手机的地方就有电影院
- 计算机主板别称是什么城,武汉别名江城又称什么城 武汉被誉为什么城之称
- 示例程序009--阙值化(二值化,cvThreshold)
- 推荐:基于.NET写的本地搜索工具-EverythingToolbar