0 / 0 / 0
Регистрация: 11.07.2020
Сообщений: 90
1

BitConverter.ToInt64 c++

14.07.2020, 10:58. Показов 1302. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не моги бы вы скинуть код который конвертирует байты в Int64. На c# есть такой метод: BitConverter.ToInt64(); Немогли бы вы мне его описать на c++
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2020, 10:58
Ответы с готовыми решениями:

BitConverter.ToInt64 на c++
дайте код который конвертирует unsigned char в бит. Первый аргумент сами байты, второй startOffset

BitConverter
Есть массив байтов(с модема) Известно, что первые 2 баита содержат идентификационныи номер, третий...

Как устроен BitConverter
Здравствуйте! :) Задался я тут вопросом: как работает BitConverter? Проблема в том, что у меня не...

Как работает BitConverter.ToUInt32
Как "в ручную" можно преобразовать массив из четырех байтов в uint, не пользуясь классом...

5
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,714
14.07.2020, 13:18 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
union T
{
   int8_t c[8];
   int64_t x;
};
int main()
{
  T t;
  for(int i=0;i<8;i++)
    cin>>t.c[i]; // присвоение значения байтам
   cout<<t.x; // вывод всего 64 битного числа
}
0
0 / 0 / 0
Регистрация: 11.07.2020
Сообщений: 90
14.07.2020, 13:40  [ТС] 3
zss, пишет то, что t необъявленнный айдишник, как его сделать пустым?
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,714
14.07.2020, 13:46 4
какой код Вы компилировали?
Вот такой компилируется без ошибок:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdint.h>
#include <iostream>
using namespace std;
union T
{
    int8_t c[8];
    int64_t x;
};
int main()
{
    T t;
    for (int i = 0; i < 8; i++)
    {
        unsigned int k;
        cin >> k;
        t.c[i] = k; // присвоение значения байтам
    }
    cout << t.x; // вывод всего 64 битного числа
    return 0;
}
0
0 / 0 / 0
Регистрация: 11.07.2020
Сообщений: 90
14.07.2020, 13:49  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
union T
{
    int8_t c[8];
    int64_t x;
};
int main()
{
   unsigned char* numArray = new unsigned char[8];
 
   numArray[0] = 1;
 
    T t;
    t.c[numArray[0]];
    cout << t.x << endl;
}
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,714
14.07.2020, 13:55 6
Лучший ответ Сообщение было отмечено WalStrile как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdint.h>
#include <iostream>
using namespace std;
union T
{
    int8_t c[8];
    int64_t x;
};
int main()
{
   unsigned char numArray[8]={0};
 
   numArray[0] = 1;
 
    T t;
    for (int i = 0; i < 8; i++)
    {
          t.c[i] = numArray[i]; // присвоение значения байтам
    }
    cout << t.x << endl;
}
1
14.07.2020, 13:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2020, 13:55
Помогаю со студенческими работами здесь

Что мне отдает BitConverter.ToUInt32?
Тестирую вот такой вот незамысловатый код, который естественно писал не я иначе бы понимал что он...

BitConverter.ToSingle возвращает целое число
Здравствуйте! Передаю в BitCoverter.ToSingle массив из четырех байт byte bytesForBitConverter =...

Преобразование пары байт в Int16 (BitConverter.ToInt16)
Отличная функция BitConverter.ToInt16 но она подразумевает, что пара байт будет в следующей...

BitConverter little-endian -> big-endian
Копирую в массив byte некоторые значения byte msg = new byte;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru