1. 程式人生 > >char 型資料與十進位制資料之間的轉換

char 型資料與十進位制資料之間的轉換

一,

a = com_rx_buff[10] - 0x30;
b = com_rx_buff[11] - 0x30;                                                                                                                                      
c = com_rx_buff[12] - 0x30;
m = a*100 + b*10 + c;
減0x30?

解釋: a,b,c是 char 型,也可以是short型,也可以是int型的,但在這裡,a的最值應該不會超過9,所以char型更合適。將接收存放在com_rx_buff[]中的資料(char)型 轉換成 十進位制數,
假設 com_rx_buff[11]中的資料為 '9', 在ASCII中9的十六進位制是0x39,減去 ‘0‘的ASCII的十六進位制0x30 就得到數字9了。

二,測試


#include<stdlib.h>
#include<stdio.h>
#include<stdint.h>
#include<unistd.h>
#include<error.h>

void main(void)
{
    uint32_t val;
    uint8_t distance = 138;
    uint8_t tx_buf[5];
    tx_buf[0] = 0x55;
    tx_buf[4] = 0x0D;                                                             

    tx_buf[1] = distance/100%10 + 0x30;
    //printf("%d \n",tx_buf[1]);
    //printf("%d \n",'0');
    tx_buf[2] = distance/10%10 + 0x30;
    tx_buf[3] = distance%10 + 0x30;
    printf("\n %d %d %d \n",tx_buf[1],tx_buf[2],tx_buf[3]);//49 51 56

    val = (tx_buf[1] - '0') * 100 + (tx_buf[2] - '0') * 10 + (tx_buf[3] - '0');

    printf("val = %d \n",val);
}

執行結果:

 49 51 56
val = 138


相關推薦

char 資料十進位制資料之間轉換

一, a = com_rx_buff[10] - 0x30; b = com_rx_buff[11] - 0x30;                                          

jackson實現json資料物件, 集合之間轉換

     前面列舉了Gson和fastjson處理json格式資料的具體用法,以下介紹jackson如何簡單處理json格式資料,還是延用前面文章中的實體類Product.          使用jackso

fastjson實現json資料物件, 集合之間轉換

fastjson是阿里巴巴開源的用於處理json格式資料的工具.   使用fastjson需要引入第三方jar包: 實體類Product類和前面Gson解析資料時一致,此處不再上程式碼. package Exercise1_fastjson; import java

Gson實現json資料物件, 集合之間轉換

Gson是谷歌開源的用於處理json格式資料的工具. 使用Gson需要引入第三方jar包: package Exercise1_gson; import java.io.Serializable; /** * @author huangxinyi * 實體類product *

基本資料型別的介紹及轉換,基本資料型別字串之間轉換,字串字元陣列之間轉換以及字串位元組陣列之間轉換

目錄 一.Java的基本資料型別介紹 二.各類基本資料之間的轉換 三.基本資料型別和String之間轉換(附:物件包裝類及所對應的基本資料型別) 四.String與字元陣列轉換 五.Strin

Go語言中其他資料字串型別的轉換

1 概述 Go語言是強型別語言,因此總會需要將字串轉成需要的型別。比如整型和字串轉換,字串和布林型的轉換等。本文就介紹如何完成這些轉換,以下是Go語言關於字串轉換的整理說明,主要是與切片型別的轉換,和 strconv 包的使用。 2 與切片的轉換 切片型別可以

ITK資料C++資料轉換

 3D資料在用ITK讀入後,需要在C++中做其他處理,這就需要資料轉化的工作; 起先我先是試著轉化到Mat資料,但是遇到很多問題,加上自己是初學者就沒有什麼人能問的,就自己摸索,這是我在另外的部落格看到的用法,涉及資料轉化、取值、賦值操作:不是完整的,用到哪些就取相應步驟好了 /

JSON資料Java物件相互轉換

整理下json資料與Java物件轉換。 使用的jar包: ClassGrade類: import java.util.ArrayList; import java.util.List; public class ClassGrade { private String

json資料html模版的轉換

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

關係資料庫資料hadoop資料進行轉換的工具 - Sqoop

Sqoop 本文所使用的Sqoop版本為1.4.6 1.官網   http://sqoop.apache.org 2.作用   A:可以把hadoop資料匯入到關係資料庫裡面(e.g. Hive -> Mysql)   B:可以把關係資料庫資料匯入到hadoop裡面(e.g. Mysql -

Android JSON資料實體類之間的相互轉化-------GSON的用法

這篇文章就是示範如何用GSON把JSON資料與實體類進行相互轉化,需要用到gson-2.3.1.jar這個包。直接貼程式碼了: import java.lang.reflect.Type; import java.util.ArrayList; imp

基本型別資料和包裝類之間轉換

1、可以通過對應的包裝類的建構函式完成。1、包裝類中提供的靜態函式:事例:packageTest;publicclass DoubleDemo {publicstaticvoid main(String[] args) {//定義一個double型別的資料double d=1

張量tensor的資料numpy 資料之間的轉化列印

在tensorflow 中一般資料都是用tensor來表示,而在python 中一般是用numpy包,然而有時候需要列印變數的資料,所以下面可以程式碼:import tensorflow as tf from tensorflow.examples.tutorials.mni

sql效能優化第一篇之分頁資料count資料一次性獲取

相信大部分人都會遇到:在資料庫的資料量很大時,分頁需要幾秒鐘才會全部完成;包括分頁list的獲取和count的獲取。那我們完全可以將這兩步放到一次sql去執行獲取,減少一半的查詢時間。這裡get到sql_calc_found_rows和SELECT FOUND_ROWS()這兩個知識點。看程式碼

柵格資料向量資料

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

JQuery中使用select2外掛功能之自動完成下拉框動態載入匹配(本地資料遠端資料結合)

前言 最近專案中遇到一個問題:前端載入頁面的時候某些頁面載入速度很慢,耗時很久;有些頁面載入的飛快;因為上面所說的頁面都是由同一個程式動態生成的,利用多執行緒同步機制完成不同的前端頁面;因此當時就斷定不是程式的大問題;應該是處理資料部分存在問題;在chrome瀏覽器一測;還真的是大資料的問題

C# BCD碼十進位制數的轉換

BCD碼(Binary-Coded Decimal‎)是二進位制編碼的十進位制數的縮寫,BCD碼用4位二進位制數表示一位十進位制數。BCD碼各位的數值範圍為2#0000~2#1001,對應於十進位制數0~9。BCD碼不能使用十六進位制的A~F(2#1010~2#1111)這6個數字。BCD碼本質上是

JS中二進位制十進位制的相互轉換

十進位制轉換為二進位制: var num = 100; console.log(num.toString(2)); toString()方法可把一個 Number 物件轉換為一個字串,並返回結果。 語法 NumberObject.toString(radix); 其中,radix為可選。規

如何正確區分軟體成本估算中的邏輯資料物理資料

我們在進行軟體專案成本估算時經常容易混淆邏輯資料與物理資料。下面我們談談二者間的區別,以便我們正確的進行軟體成本估算。 邏輯資料一般是交易記錄、賬號資訊、客戶資訊等型別的資料。而物理資料是資料庫表、檢視;軟體的頁面;物理檔案(如DOC);登錄檔等。 一個物理檔案中可以包含多種邏輯資料

【輔助駕駛】KITTI鐳射資料影象資料的融合MATLAB實現[2]——KITTI資料集簡介

一、選擇KITTI的原因 我知道並有使用的資料集只有CityScapes和KITTI,其中CityScapes主要包括語義分割資料,沒有鐳射雷達資料,Github關於雷達影象融合開原始碼找到的也是KITTI的程式碼。 二、資料集簡介 1、網址:http://www.cvlibs.ne