Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для alhaos
1929 / 545 / 154
Регистрация: 20.02.2019
Сообщений: 2,664
Записей в блоге: 65

Способ узнать разрядность числа

03.10.2019, 13:40. Показов 2430. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня подскажите пожалуйста, есть ли способ попроще узнать разрядность числа.

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function test()
{
    Param([Parameter(Mandatory=$true)]
    [Long]$Num)
    
    while($Num -gt 10)
    {
        $Num = $Num/10
        $i++
    }
    $i+1
}
 
test 123120001234135461
или

PowerShell
1
([string]123120001234135461).Length
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.10.2019, 13:40
Ответы с готовыми решениями:

Узнать остаток длины не заполняющий разрядность числа
Есть N число, поделенное на разряды по тысячи, то есть по три цифры, например: 10 000 000 Необходимо, по возможности как можно проще,...

Как узнать разрядность?
Доброй ночи, подскажите, пожалуйста, как узнать в процессоре разрядность 1. шины данных; 2. шины адреса; 3. регистров общего...

Можно ли узнать разрядность ОС
Здравствуйте, можно ли узнать разрядность ОС?

5
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
03.10.2019, 13:49
Цитата Сообщение от alhaos Посмотреть сообщение
PowerShell
1
([string]123120001234135461).Length
Куда ещё проще?

PowerShell
1
(12345).ToString().Length
2
 Аватар для alhaos
1929 / 545 / 154
Регистрация: 20.02.2019
Сообщений: 2,664
Записей в блоге: 65
03.10.2019, 13:57  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
Куда ещё проще?
Хотелось как то без конвертации обойтись, как то приводить число в строку только для того чтобы узнать его разрядность...
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
03.10.2019, 14:09
Лучший ответ Сообщение было отмечено alhaos как решение

Решение

Цитата Сообщение от alhaos Посмотреть сообщение
Хотелось как то без конвертации обойтись
PowerShell
1
[int32]([math]::Log10(123120001234135461))+1
2
 Аватар для alhaos
1929 / 545 / 154
Регистрация: 20.02.2019
Сообщений: 2,664
Записей в блоге: 65
03.10.2019, 14:37  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
[int32]([math]::Log10(123120001234135461))+1
) во!, это точно радует взгляд, благодарю.

Добавлено через 11 минут


PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
PS C:\> [int32]([math]::Log10(32))+1
3
PS C:\> [int32]([math]::Log10(31))+1
2
PS C:\> ([math]::Log10(32))+1
2,50514997831991
PS C:\> ([math]::Log10(31))+1
2,49136169383427
PS C:\> [math]::Truncate(([math]::Log10(32))+1)
2
PS C:\> [math]::Truncate(([math]::Log10(33))+1)
2
PS C:\>
2
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
03.10.2019, 14:45
Цитата Сообщение от alhaos Посмотреть сообщение
Code
1
2
3
4
PS C:\> [int32]([math]::Log10(32))+1
3
PS C:\> [int32]([math]::Log10(31))+1
2
Вот поэтому, для меня .ToString().Length наглядно и отлично читаемо, а чтобы понять второй вариант, нужно как минимум вспомнить раздел из школьной алгебры + разобраться как PS переводит Double to Int

Да и особого выигрыша в производительности я не вижу:

PowerShell
1
2
3
4
5
6
$n = 100
$x = 123120001234135461
cls
1..$n | foreach {Measure-Command {([string]$x).Length}} | Measure-Object TotalMilliseconds -Average
1..$n | foreach {Measure-Command {($x).ToString().Length}} | Measure-Object TotalMilliseconds -Average
1..$n | foreach {Measure-Command {[math]::Truncate(([math]::Log10($x))+1)}} | Measure-Object TotalMilliseconds -Average
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Count    : 100
Average  : 0,0511830000000001
Sum      : 
Maximum  : 
Minimum  : 
Property : TotalMilliseconds
 
Count    : 100
Average  : 0,024261
Sum      : 
Maximum  : 
Minimum  : 
Property : TotalMilliseconds
 
Count    : 100
Average  : 0,02495
Sum      : 
Maximum  : 
Minimum  : 
Property : TotalMilliseconds
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.10.2019, 14:45
Помогаю со студенческими работами здесь

Как узнать версию и разрядность ОС?
собствено как это узнать средствами CMD

Как узнать разрядность ОС VBA
здравствуйте, собственно сабж + узнать название ОС, спасибо

Узнать разрядность текущего процесса
Здравствуйте. Есть некоторая обработка, которая коннектится к Excel. Соответственно 2 варианта драйвера x86 -...

Как узнать разрядность процессора?
Доброго времени суток! Такой вопрос: как узнать разрядность процессора(а не ос)? пробовал так: system("export ARCH=$(uname...

Как узнать разрядность процессора?
Когда покупал свой пк стояла семерка х64, но потом комп стал виснуть и я переустановил на х86, сейчас хочу обратно х64 но не могу...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru