Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141

как конвертировать из большего числа в меньшее?

22.02.2011, 22:18. Показов 2476. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Это не работает
C#
1
2
UInt64 sync = 32432445;
UInt16 i = Convert.ToUInt16(sync);
На Си это было бы решено просто-
C
1
2
Uint64_t sync = 32432445;
Uint16_t dat = sync;
т.о. просто записалась бы младшая часть значения.

На шарпе как бы прокатить подобное?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.02.2011, 22:18
Ответы с готовыми решениями:

Два многоразрядных числа заданы в виде одномерных массивов. Из большего числа вычесть меньшее
Составить программу на Паскале: два многоразрядных числа заданы в виде одномерных массивов. Из большего числа вычесть меньшее.

От большего числа вычесть меньшее число
Как от большего числа отнять меньшее число. Добавлено через 46 секунд Все решил. int result1 = max(30,20); public...

Составить класс вычитания из большего числа меньшее
Составить класс вычитания из большего числа меньшее

13
 Аватар для BrumbleHorse
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
22.02.2011, 22:36
Явно привести
C#
1
2
UInt64 a = 32432445;
UInt16 i = (UInt16)a;
Добавлено через 7 минут
А, или надо чтобы только младшая часть значения писалась?
0
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
23.02.2011, 00:01  [ТС]
ну да, чтобы младшая часть писалась. Но при явном приведении вроде так и должно быть. Сейчас проверю
0
 Аватар для BrumbleHorse
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
23.02.2011, 00:07
Цитата Сообщение от metcenger Посмотреть сообщение
На Си это было бы решено просто-
Гм, на С dat=57661, как и на C#..
0
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
23.02.2011, 00:28  [ТС]
Да, работает, туплю уже просто. Спасибо
0
 Аватар для BrumbleHorse
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
23.02.2011, 00:38
Что работает-то?.. Я как понял вам надо при таком преобразовании получать остаток, то есть если число UInt64=32432445, то UInt16 = 32445?
0
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
23.02.2011, 00:45  [ТС]
нет, все правильно было. Мне надо младшие 16 бит от 64 бит.

Подскажите плз, вот что- не пойму

C#
1
2
3
4
...
UInt16[] DigOfSymb = new UInt16 [dataLength];
...
DigOfSymb[0] = DigOfSymb[0] ^ (UInt16)data;
data 64 бита. Как привести, чтобы не ругалась студия?

В массиве DigOfSymb числовое значение букв Unicode
0
 Аватар для BrumbleHorse
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
23.02.2011, 01:39
Вам очень принципиально использовать UInt16?..Сделайте массив тоже UInt64 и все будет работать.. Почему так я не знаю..Перебрал массу комбинаций типов, в одном случае работает, в другом нет..
0
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
23.02.2011, 01:53  [ТС]
Нет, не принципиально. Массив, в тот, что хочу загнать тоже UInt16. Может уже ночью глаз замылен, но я не вижу своей ошибки там.
0
 Аватар для BrumbleHorse
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
23.02.2011, 01:55
Цитата Сообщение от metcenger Посмотреть сообщение
DigOfSymb[0] = DigOfSymb[0] ^ (UInt16)data;
Да я не про это.. data у вас UInt64 же?.. из-за этого на вышеприведенное студия ругается.. А если массив DigOfSymb объявить тоже UInt64 то ругаться не будет
0
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
23.02.2011, 02:21  [ТС]
C#
1
2
UInt16 LowData = (UInt16)data;
DigOfSymb[i] = (DigOfSymb[i] ^ LowData);
data была 64.

Я хочу, чтобы массив и XOR был с 16 бит.
Что её не нравится?
0
 Аватар для BrumbleHorse
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
23.02.2011, 02:27
Я и написал, что не могу понять что ей не нравится .. Перепробовал разные варианты, в вашем случае, чтобы работало, нужно объявить все как UInt64, причем без явного приведения, а именно сразу объявить.. не могу понять почему.. можно попробовать скомпилировать в командной строке, тогда будет ясно студия глючит, или это какие-то особенности языка
0
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
23.02.2011, 02:28  [ТС]
ок, спасибо, буду пробовать. Вообще, мне тоже странно кажется. если все по 64 бита, то норм. но мне уже принципиально хочется 16 бит. Учебный проект ведь...
0
 Аватар для BrumbleHorse
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
23.02.2011, 02:32
C#
1
2
3
4
int length = 20;
            UInt64 data=5753754757;
            UInt64[] DigOfSymb=new UInt64[length];
            DigOfSymb[0]= DigOfSymb[0] ^ data;
Добавлено через 1 минуту
Вот так например работает.. а если мы где-то меняем тип на UInt32 или 16, или используем явное приведение, то не работает.. Причем текст ошибки невразумителен:"Невозможно преобразовать int в ushort".. При использовании ushort пишет то же самое..
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.02.2011, 02:32
Помогаю со студенческими работами здесь

Функция возвращающая остаток от деления большего числа на меньшее
Задание:Описать функцию,которая возвращает остаток от деления большего числа на меньшее. #include "stdafx.h" #include...

Написать программу, реальзующую вычитание из большего введённого числа меньшее...
Написать программу, реальзующую вычитание из большего введённого числа меньшее

Сравнить два числа, поменять их местами и из большего вычесть меньшее
Помогите пожалуйста как сравнить два числа, поменять их местами и из большего вычесть меньшее вот мой код, без сравнения считает, если...

Заменить меньшее число значением большего
1.Даны целые числа k, l. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны,...

Определить количество таких пар элементов массива, в которых меньшее число находится левее большего
Дан линейный неупорядоченный массив А, состоящий из 20 целых чисел. Составить программу, которая определяет количество таких пар...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru