目录

背景

概念及源码


背景

在读串口数据的时候,很多时间读取的是二进制数据,很多情况下都是uchar的数组,这数字一般比int(4字节)大比long long(8字节)小。

如下例子:

今天就在远程给客户敲代码,花了点时间,在此记录下。以后直接可以拷贝。

概念及源码

这里逻辑如下。

把为满足64位的数据补充为64位。

使用pow()进行累加。

代码如下:

#include <iostream>
#include <math.h>
using namespace std;int main(int argc, char *argv[])
{char *dataPtr = "1111111111111111";cout << dataPtr << endl;string str = dataPtr;string fullStr;for(int i = 0; i < 8 * 8; i++)fullStr += "0";fullStr += str;cout << fullStr << endl;long long data = 0;int lenth = fullStr.length();const char *p = fullStr.c_str();for(int i = 0; i < lenth; i++){if(p[lenth - 1 - i] != '0'){data += pow(2, i);}}cout << data << endl;return 0;
}

程序运行截图如下:

第一行是原始数据。

第二行是补充数据。

最后一行是转10进制后的数据。

换一串数据看看。

C++笔记-char*存储的二进制转成long long十进制(读串口的时候经常用到)相关推荐

  1. 汇川小型PLC梯形图编程系列教程(七):数值存储与二进制数据知识详解

    原文链接:汇川小型PLC梯形图编程系列教程(七):数值存储与二进制数据知识详解 PLC数据存储原理简介 H123U小型PLC内部采用的是32位的处理器,PLC中的数据处理和电脑中的数据处理基本是一致的 ...

  2. java代码二进制转为十六进制_Java 中二进制转换成十六进制的两种实现方法

    Java 中二进制转换成十六进制的两种实现方法 每个字节转成16进制,方法1 /** * 每个字节转成16进制,方法1 * * @param result */ private static Stri ...

  3. 《Linux就该这么学》培训笔记_ch06_存储结构与磁盘划分

    <Linux就该这么学>培训笔记_ch06_存储结构与磁盘划分 文章最后会post上书本的笔记照片. 文章主要内容: Linux系统的文件存储结构(FHS标准) 物理设备命名规则(udev ...

  4. c语言存储类型关键字作用,c语言学习笔记.关键字.存储类型关键字等

    关键字const 1.修饰变量. 修饰的对象为常量,只读. 2.修饰指针. const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据. const 离变量名近就是用来修 ...

  5. 把图片转换成二进制--把二进制转换成图片

    把图片转换成二进制--把二进制转换成图片 private void button1_Click(object sender, EventArgs e)         {             st ...

  6. 二进制转换成十六进制输出的C代码

    (本博客只提供很厉害的方法,没有代码) 项目需求是需要把一个字节(8bit)的二进制数转换成一个十六进制的数值,然后发送给上位机: 我自己试着编写代码,思路是把这个8bit的二进制数存放到一个数组里面 ...

  7. 如何把char类型的数字字符转换成int类型

    近来面试遇到一个问题,通过控制台输入一个12位的数字,然后进行一些计算,然后被困在如何把char类型的数字转换成int类型.通过搜索,找到两个解决办法. 1.把char型转换成int类型 for(in ...

  8. Java将图片转换成二进制,将二进制转换成图片

    Java将图片转换成二进制,将二进制转换成图片 static BASE64Encoder encoder = new sun.misc.BASE64Encoder();static BASE64Dec ...

  9. 简单的利用栈 将二进制转换成十六进制

    将刚刚的二进制转换成八进制的程序改改就行了,如果有能读懂刚刚程序的人,这个so easy 就是换几个数,我就不多解释了 #include <stdio.h> #include <st ...

最新文章

  1. “数学不好,干啥都不行!”骨灰级程序员:其实你们都是瞎努力
  2. 不得自行对涉密计算机进行格式化,保密资格认证-涉密人员考试试题
  3. JAVA作业——JAVA课程的总结及学习计划
  4. P3261-[JLOI2015]城池攻占【左偏树】
  5. icmp时间戳请求和应答程序实现_ICMP报文详解之ping实现
  6. 及时复盘的好处_如何做好2020的年终复盘?
  7. 棋牌游戏服务器设计(1)
  8. linux 引导原理 pdf,linux深度开发原理.pdf
  9. hdu3033(变形分组背包)
  10. 细说OSI七层协议模型及OSI参考模型中的数据封装过程?
  11. 7.10 添加房间参数
  12. FreeTextBox使用
  13. 51单片机通过WIFI模块ESP8266控制四路继电器
  14. 图像mnf正变换_PIE SDK最小噪声变换
  15. javaSE之多线程vip插队
  16. 计算机毕业生毕业论文写作及选题方向
  17. 地下城堡游戏小脚本儿——自动炼金
  18. 基于Python,从零开始,裸写一套期权定价程序
  19. 时尚手表品牌PaulHewitt,手表手链超时尚品牌礼物
  20. 51 nod 1010

热门文章

  1. 史上最简单的3D森林
  2. 2007-11-7学习EXT第一天:EXT简介
  3. [新功能]Blog首页仅列出标题
  4. 你真的了解 “开源” 么?请查收【保姆级】开源百科
  5. 那个傻子的网站突然打不开虚拟光驱
  6. 【飞秋】Asp.net MVC2 model验证 看似美好,实则让人失望。
  7. 一条来自 GitHub 重磅消息!
  8. mysql my.cnf 配置_MySQL——my.cnf参数设置说明
  9. 两个datatable合并 主键一样覆盖_MySQL 建表为啥还设置个自增 id ?用流水号当主键不正好么?...
  10. 监督学习 | 集成学习 之Bagging、随机森林及Sklearn实现