Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string.h>
- #include <stdio.h>
- unsigned char hdigit(unsigned char c);
- int checkArray(char* hx, int length){
- int i;
- for (i = 0; hx[i] != '\0'; i++);
- if (i > length){
- return -1;
- }
- return 0;
- }
- int getSign(unsigned char* c)
- {
- const char govno[5] = "7FFF\0";
- if (strcmp(c, govno) > 0)
- {
- return 1;
- }
- else
- {
- return 0;
- }
- }
- signed getKakoytoNumber(char* hx)
- {
- int s = 0, p = 0;
- char * cpi = hx;
- while( *++cpi );
- while( hx != cpi-- )
- {
- s += hdigit(*cpi) << p;
- p += 4;
- }
- return s - 65535;
- }
- //----edited-------------------------------
- int power(int num, int count){
- int oldNum=num;
- for (int i=0; i<count; i++){
- num*=oldnum;
- }
- if (count==0){
- num=1;
- }
- return num;
- }
- double getSignedNumber(char* hx){
- int i=0;
- if(hx[i]=='1'){
- for (i=1; i<strlen(hx); i++){
- switch(hx[i]){
- case '1':
- hx[i]='0';
- break;
- case '0':
- hx[i]='1';
- break;
- }
- }
- }
- return hx;
- }
- int getNumFrom2(char* hx){
- int i, j, num;
- i=0;
- j=0;
- if (hx[i]=='1'){
- for (int i=strlen(hx); i>1; i--){
- switch(hx[i]){
- case '1':
- num+=power(2, j)*1;
- break;
- case '0':
- num+=power(2, j)*0;
- break;
- }
- j++;
- }
- num*=(-1);
- } else{
- for (int i=strlen(hx); i>1; i--){
- switch(hx[i]){
- case '1':
- num+=power(2, j)*1;
- break;
- case '0':
- num+=power(2, j)*0;
- break;
- }
- j++;
- }
- }
- return num;
- }
- //------------------------------------------
- unsigned char hdigit(unsigned char c)
- {
- return (c >= 'A' ? c - 'A' + 10 : c - '0');
- }
- unsigned getKakoytoUnsignedNumber(char* hx)
- {
- unsigned s = 0, p = 0;
- char * cpi = hx;
- while( *++cpi );
- while( hx != cpi-- )
- {
- s += hdigit(*cpi) << p;
- p += 4;
- }
- return (unsigned)s;
- }
- int HEX_TO_DEC(char* hx)
- {
- //if (checkArray (hx, length) == -1){
- //printf("Error! Max. %d chars!", length);
- //printf("\n");
- //exit(1);
- //}
- return getKakoytoNumber(hx);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement