在嵌入式系统和单片机开发中,数值转化为二进制是非常常用的,对与位域可能很多上层开发人员都

不曾见到,位域在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;}

一个数值转化为二进制 位运算和位域相关推荐

  1. [剑指offer][JAVA]面试题第[16]题[数值的整数次方][位运算][二分法]

    [问题描述][中等] 实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题.示例 1:输入: ...

  2. 颠倒二进制[位运算]

    颠倒二进制 前言 一.颠倒二进制 二.解 1.逆序存储 2.分治颠倒 总结 参考文献 前言 颠倒二进制,可以直接将二进制逆序存储,得到新的数:也可分治快速颠倒. 一.颠倒二进制 二.解 1.逆序存储 ...

  3. c#如何将一个整数转换二进制,并进行位运算

    进行位运算,是不需要转化成二进制的. CPU在运算的时候,内部把所有数据都看成二进制.Convert 看类名就知道,是提供一个转换函数的. 位运算只能在 byte, char, short, usho ...

  4. Java位运算不一定比乘法快 (关于java数据运算的一些思考)

    wtf???Java乘法会比位运算快??你一定是在逗我!!哈哈哈,当时也困扰了我,让我们继续向下看. 我们学习c的时候,都会遇到位运算快于乘法运算的情况,当时老师讲的是计算机只有加法运算,乘法运算的运 ...

  5. 位运算笔记(个人笔记)

    文章目录 声明 前言 #各个进制之间的转化# 一.位运算的解释 1.按位与(&) 2.按位或(|) 3.按位异或(^) 4.按位取反(~) 5.左移位(<<) 6.右移位(> ...

  6. C语言截取整数的某些位编程,C语言中位运算的巧用(转)

    一 .位运算实例 1.用一个表达式,判断一个数X是否是2的N次方(2,4,8,16.....),不可用循环语句. X:2,4,8,16转化成二进制是10,100,1000,10000.如果减1则变成0 ...

  7. 位运算 位运算应用

    本页目录 位运算分为2个大类 位于 &(一0则0) 位或| (双0则0) 异或 ^(互异则1) 利用异或可实现一个小面试题,如何不添加变量,实现数据的替换 按位取反 ~ 左移 << ...

  8. 刷题日记 acwing 2058笨拙的手指 位运算的运用,迭代器的使用,秦九稍(别的进制转化为10进制)

    #include<iostream> #include<unordered_set> using namespace std; int get(string a,int b)秦 ...

  9. 十进制整数转化为二进制详解

    要想编写十进制转化成二进制的带码首先要清楚十进制转化成二进制的算法,下面我们从两个方面实现这个转化: 1.按照十进制转化成十进制的常规算法实现: 普通算法实现: 我们举一个简单的例子,比如取整数52 ...

最新文章

  1. 刷新ImageNet纪录,GAN不只会造假!DeepMind用它做图像分类,秒杀职业分类AI
  2. 激光点云感知 voxnet本质
  3. HDFS—常见面试题
  4. 12.2 新特性:锁信息获取之在线删除索引
  5. 三分钟带你看懂prototype原型——ES6进阶
  6. C28x DSP程序加载与运行
  7. Sketch 67.2 简体中文版 最佳Mac产品原型设计工具
  8. 通过socks5代理下载webrtc源码错误:curl: (7) Can't complete SOCKS5 connection xx.xx.xx.xx
  9. 如何准确获取地点位置的经纬度?
  10. 三角形边长求高的c语言函数公式,各种三角形边长的计算公式-三角形三边公式...
  11. 两张图片放在一起有条白线_为什么图片上加两条白线就可以有3d效果?
  12. html游戏加载不出图片吗,uc浏览器加载不出图片怎么办?uc浏览器加载不出图片的解决方法...
  13. 单片机搭建环境烧录方法_万物互联-stm32单片机简介、烧录、编程及其项目环境搭建...
  14. 电商评论文本情感分类(中文文本分类)(第二部分-Bert)
  15. Windows 7个性化配置,关闭Win7动画效果,设置窗口背景为“ 豆绿色”,移动“我的文档”...
  16. 20181225股市复盘
  17. 调度生产过程的思路、原则、方法
  18. Server-Sent Events 一种轻量级的Push方式
  19. python tkinter编写界面,使用win32com操作excel获取数据生成截图后,wxpy登录微信,给租客发送房租(二)
  20. java优化方法_JAVA程序性能优化的10个简单方法

热门文章

  1. CVE-2022-29464 WSO2文件上传漏洞
  2. 【面经】美团——后台开发
  3. spring boot: javax.persistence.PersistenceException: Unable to build Hibernate SessionFactory
  4. Vue引入fastclick
  5. openfire服务器源码,Openfire服务端源代码开发配置指南
  6. RockChip MPP编码
  7. Popover前世今生
  8. Linux清屏命令与 Windows清屏命令
  9. 3D渲染的最佳CPU推荐, 目前流行的 3D 渲染 CPU
  10. 陈老师带给你简单易懂的8个有趣方案