bonsoir,
je suis en train de développer une application me permet de créer un système d'automatisation.
j'ai une petite problème concernant une commande ; l’opérateur va saisie un nombre décimal par exemple 100000 qui est en hexa 0x186A0 donc il suffit de le diviser en 3 parties 0x01 0x86 0xA0
est ce que vous pouvez m'aidez pour avancer dans mon projet ?
vous trouvez ci joint le code du programme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <iostream>
#include <string>        
#include <sstream> 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
	uint16_t res1 = 0xFFFFFF;
	int D = 0;
	uint8_t tab[3];
	printf("donner valeur decimal: ", D);
	cin >> D;
	std::stringstream ss;
	ss << std::hex << D;
	std::string res(ss.str());
	std::cout << res;
 
	res1 = (uint16_t)res.c_str();
 
	tab[0] = res1 & 0xFF;
	printf("\n val 1: %x", tab[0]);
	tab[1] = (res1 & 0xFF, res1 >> 8) ;
	printf("\n val 2: %x", tab[1]);
	tab[2] = (res1 & 0xFF, res1 >> 16);
	printf("\n val 3: %x", tab[2]);
 
	return 0;
}