Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Заблокирован

Битовая клавиатура. Есть такая в калькуляторе Windows в опции режим программиста

23.12.2025, 12:06. Показов 1722. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Только там на все 64 бита, а я подумал что и 32 бит за глаза хватит. И написал на HTML и Javascript. А в Windows вообще калькулятор на чем написан? Небось C#?
HTML5
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<!DOCTYPE html> 
<html lang="ru"> 
<head> 
    <meta charset="UTF-8">
    <title>БИТОВАЯ КЛАВИАТУРА</title>
    <style>
        body {
            background-color: #95f0cd;
        }
        .sp {
            margin-top: 50px;
            font-family: Verdana;
            font-size: 25px;
            position: absolute;
           
        }
          .sp2 {            
            font-family: Verdana;
            font-size: 25px;
            position: absolute;
           
        }
        .m1{
           margin-left: 20px;  
        }
        .m2{
           margin-left: 140px;  
        }
         .m3{
           margin-left: 260px;  
        }
        .m4{
           margin-left: 380px;  
        }             
        .b{
            margin-top: 120px;
            margin-left: 220px;
            font-family: Verdana;
            font-size: 25px;
        }
          .p{
            margin-top: 25px;
            font-family: Verdana;
            font-size: 25px;
        }    
        .bit1{
          margin-top: 80px;
          margin-left: 30px; 
          position: absolute; 
          font-family: Verdana;
          color: blue;
        }
          .bit2{
          margin-top: 30px;
          margin-left: 25px; 
          position: absolute; 
          font-family: Verdana;
          color: blue;
        }
        .inbit{
            margin-left: 70px;
        }
         .inbit2{
            margin-left: 65px;
        }
         .inbit3{
            margin-left: 60px;
        }
          .inbit4{
            margin-left: 75px;
        }
    </style>  
</head> 
<body> 
    <div id='1' class="sp2 m1">
       <span>0</span>
       <span>0</span>
       <span>0</span>
       <span>0</span>
   </div>
   <div id='2' class="sp2 m2">
       <span>0</span>
       <span>0</span>
       <span>0</span>
       <span>0</span>
   </div>
   <div id='1' class="sp2 m3">
       <span>0</span>
       <span>0</span>
       <span>0</span>
       <span>0</span>
   </div>
   <div id='2' class="sp2 m4">
       <span>0</span>
       <span>0</span>
       <span>0</span>
       <span>0</span>
   </div>
   <div class="bit2"><span>32 бита</span><span class="inbit2">28 бит</span><span class="inbit2">24 бита</span><span class="inbit3">20 бит</span></div>
   <div id='1' class="sp m1">
       <span>0</span>
       <span>0</span>
       <span>0</span>
       <span>0</span>
   </div>
   <div id='2' class="sp m2">
       <span>0</span>
       <span>0</span>
       <span>0</span>
       <span>0</span>
   </div>
   <div id='1' class="sp m3">
       <span>0</span>
       <span>0</span>
       <span>0</span>
       <span>0</span>
   </div>
   <div id='2' class="sp m4">
       <span>0</span>
       <span>0</span>
       <span>0</span>
       <span>0</span>
   </div>
   <div class='bit1'><span>16 бит</span><span class="inbit">12 бит</span><span class="inbit">8 бит</span><span class="inbit4">4 бита</span></div>
   <input type="button" value="=" id="but" class="b">
   <p id="p" class="p">DEC | </p>
   <p id="p8" class="p">OCT | </p>
   <p id="p16" class="p">HEX | </p>
  <script>
    let allsp = document.querySelectorAll('span');
    for (var i = 0; i < allsp.length; i++) {
       allsp[i].onclick = function () {
           if (this.innerHTML == '0') {
            this.innerHTML = '1'
           }
           else{
            this.innerHTML = '0'
           }
       }
    }
    but.onclick = function() {
       let s = '';
       p.innerHTML = 'DEC | ';
       p8.innerHTML = 'OCT | ';
       p16.innerHTML = 'HEX | ';
       for (var i = 0; i < allsp.length; i++) {
        if (!allsp[i].innerHTML.includes('бит')) {
            s += allsp[i].innerHTML
        }           
       } 
       s = parseInt(s,2)   
       p.innerHTML += s;
       p16.innerHTML += s.toString(16);
       p8.innerHTML += s.toString(8)       
    }
  </script>
</body> 
</html>
Миниатюры
Битовая клавиатура. Есть такая в калькуляторе Windows в опции режим программиста  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2025, 12:06
Ответы с готовыми решениями:

Заглянул в строенный калькулятор Windows 10, обнаружил там режим "программист" и опцию "битовая клавиатура"
На Си Шарпе наверняка сварганена, но у меня сразу возникла мысль - о, да это ж отличное учебное...

Можно ли дать пользователю выбрать опцию в SELECTe с помощью клавиатуры?
имеется: - браузер IE5 - ОС Windows NT 4 (или Windows 2000 Pro) на странице HTML есть ...

Взаимодействие опций в select
Помогите пожалуйста. Мне нужно чтобы при выборе опции в select, в другом поле select появлялись...

29
Заблокирован
23.12.2025, 21:07  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от sad67man Посмотреть сообщение
о качестве картинки
Так и не понял какие там претензии к качеству? В том что кому-то мало понятен? Странно-странно... Зато возложенную на него задачу исполняет со скоростью Мессершмитта и даже ухитряется не делать ошибок
0
Эксперт .NET
 Аватар для Usaga
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
24.12.2025, 02:15
Цитата Сообщение от Zloyalex100 Посмотреть сообщение
Так и не понял какие там претензии к качеству?
Так krvsa тебе попытался донести претензии. Не понятно чем ты тут хвастаться решил, выкладывая школьную поделку эту. Ладно бы спрашивал совета, как улучшить, или как в 2025м году такое можно сделать. Но нет...
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3862 / 1762 / 434
Регистрация: 14.03.2022
Сообщений: 4,453
24.12.2025, 13:13
Цитата Сообщение от Zloyalex100 Посмотреть сообщение
"Неокрепший" это прилагательное такое и пишется слитно.
Я, как грамотей, не особо...
Но я и не выкладываю свои опусы на проф.форум филологов.

А если и выкладывал бы - так разве что за советом "как бы это лучше сделать".

Добавлено через 3 минуты
Цитата Сообщение от Zloyalex100 Посмотреть сообщение
Только конструктивной и спокойной, а не агрессивной и злобной.
Это все у тебя в голове...
Ты ни разу не спросил как такое можно сделать иначе. Ни разу.
Х/з какую особенную критику ты ожидаешь...
0
Заблокирован
24.12.2025, 15:24  [ТС]
Цитата Сообщение от krvsa Посмотреть сообщение
Ты ни разу не спросил
Ну вот прямо сейчас и спрошу. Как это сделать иначе?
А вообще делал так как учили в свое время
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3862 / 1762 / 434
Регистрация: 14.03.2022
Сообщений: 4,453
24.12.2025, 15:44
Цитата Сообщение от Zloyalex100 Посмотреть сообщение
Как это сделать иначе?
Изменить верстку, добавить в ее создание JS... Тогда и стилизация будет более вменяемой.
В обработке кликов по 0 и 1 использовать делегирование событий.
Вывод результатов делать без дублирования конента.

Т.е. все нужно переделать...

Добавлено через 1 минуту
И это все можно просто сделать в "стиле 10-тых годов"...
0
Эксперт .NET
 Аватар для Usaga
14577 / 9479 / 1360
Регистрация: 21.01.2016
Сообщений: 35,759
24.12.2025, 16:53
Цитата Сообщение от Zloyalex100 Посмотреть сообщение
А вообще делал так как учили в свое время
А открывать учебники тебя не учили? Без сарказма и шуток, это - основное умение любого человека мимикрирующего под разработчика. Я про умение учиться.
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3862 / 1762 / 434
Регистрация: 14.03.2022
Сообщений: 4,453
24.12.2025, 17:13
Предложу вот такой вариант, т.с. в стиле 10-тых годов...

Хотя я там малость заленился... И использовал уже синтаксис поновее.
Но и в старом такое реализовывается... Только букв будет больше, т.ч. смысл алгоритма не поменяется.

PHP/HTML
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<style>
td {
    padding-left: 5px; 
    padding-right: 5px; 
    text-align: center;
}
#data tr:nth-child(odd) td {
    font-size: 150%;
    letter-spacing: 3px;
}
#data tr:nth-child(even) td {
    color: blue;
}
#data span {
    cursor: pointer;
}
td input {
    margin-top: 20px;
}
#itog {
    margin-top: 20px;
}
#itog td {
    text-align: left;
}
#itog td:nth-child(odd):after {
    content: ' |';
}
</style>
 
<table>
    <tbody id='data'></tbody>
    <tbody>
        <td colspan='4'>
            <input id='res' type='button' value='В другие системы счисления' />
        </td>
    </tbody>
</table>
<table id='itog'>
    <tr>
        <td>DEC</td>
        <td></td>
    </tr>
    <tr>
        <td>OCT</td>
        <td></td>
    </tr>
    <tr>
        <td>HEX</td>
        <td></td>
    </tr>
</table>
 
<script>
const n = 32
const oz = document.createElement('td')
for (let i = 0; i < 4; i++) {
    const o = document.createElement('span')
    o.textContent = 0
    oz.appendChild(o)
}
const ob = document.getElementById('data')
for (let i = 0; i < 2; i++) {
    let or = document.createElement('tr')
    for (let j = 0; j < 4; j++) {
        const o = oz.cloneNode(true)
        or.appendChild(o)
    }
    ob.appendChild(or)
    or = document.createElement('tr')
    for (let j = 0; j < 4; j++) {
        const o = document.createElement('td')
        let v = n - ((j + i * 4) * 4)
        v = v + ' бит' + (~[2, 4].indexOf(v % 10) ? 'а': '')
        o.textContent = v
        or.appendChild(o)
    }
    ob.appendChild(or)
}
const as = ob.getElementsByTagName('span')
// тут я малость заленился с этим старым стилем...
const ai = document.querySelectorAll('#itog td:nth-child(even)')
const aa = [
    v => v,
    v => v.toString(8),
    v => v.toString(16),
]
document.getElementById('res').addEventListener('click', _ => {
    let v = ''
    for (const o of as) {
        v += o.textContent
    }
    v = parseInt(v, 2)
    for (let i = 0; i < ai.length; i++) {
        ai[i].textContent = aa[i](v)
    }
})
ob.addEventListener('click', e => {
    const o = e.target.closest('span')
    if (!o) return
    o.textContent = +o.textContent + 1 % 2
})
</script>
0
Заблокирован
24.12.2025, 19:37  [ТС]
И получилось вот такое... А я то всегда думал что бит это либо ноль либо единица
Миниатюры
Битовая клавиатура. Есть такая в калькуляторе Windows в опции режим программиста  
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3862 / 1762 / 434
Регистрация: 14.03.2022
Сообщений: 4,453
24.12.2025, 21:12
Цитата Сообщение от krvsa Посмотреть сообщение
JavaScript
1
o.textContent = +o.textContent + 1 % 2
Добавлю скобки...

JavaScript
1
o.textContent = (+o.textContent + 1) % 2
Или тернарку...

JavaScript
1
o.textContent = +o.textContent ? 0 : 1
PHP/HTML
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<style>
td {
    padding-left: 5px; 
    padding-right: 5px; 
    text-align: center;
}
#data tr:nth-child(odd) td {
    font-size: 150%;
}
#data tr:nth-child(even) td {
    color: blue;
}
#data span {
    cursor: pointer;
}
td input {
    margin-top: 20px;
}
#itog {
    margin-top: 20px;
}
#itog td {
    text-align: left;
}
#itog td:nth-child(odd):after {
    content: ' |';
}
</style>
 
<table>
    <tbody id='data'></tbody>
    <tbody>
        <td colspan='4'>
            <input id='res' type='button' value='В другие системы счисления' />
        </td>
    </tbody>
</table>
<table id='itog'>
    <tr>
        <td>DEC</td>
        <td></td>
    </tr>
    <tr>
        <td>OCT</td>
        <td></td>
    </tr>
    <tr>
        <td>HEX</td>
        <td></td>
    </tr>
</table>
 
<template id='zero'>
    <td>
        <span>0</span>
        <span>0</span>
        <span>0</span>
        <span>0</span>
    </td>
</template>
 
<script>
const n = 32
const oz = document.getElementById('zero').content
const ob = document.getElementById('data')
for (let i = 0; i < 2; i++) {
    let or = document.createElement('tr')
    for (let j = 0; j < 4; j++) {
        const o = oz.cloneNode(true)
        or.appendChild(o)
    }
    ob.appendChild(or)
    or = document.createElement('tr')
    for (let j = 0; j < 4; j++) {
        const o = document.createElement('td')
        let v = n - ((j + i * 4) * 4)
        v = v + ' бит' + ([2, 4].includes(v % 10) ? 'а': '')
        o.textContent = v
        or.appendChild(o)
    }
    ob.appendChild(or)
}
const as = ob.getElementsByTagName('span')
// тут я малость заленился с этим старым стилем...
const ai = document.querySelectorAll('#itog td:nth-child(even)')
const aa = [
    v => v,
    v => v.toString(8),
    v => v.toString(16),
]
document.getElementById('res').addEventListener('click', _ => {
    let v = [...as].reduce((v, o) => v + o.textContent, '')
    v = parseInt(v, 2)
    ai.forEach((o, i) => o.textContent = aa[i](v))
})
ob.addEventListener('click', e => {
    const o = e.target.closest('span')
    if (!o) return
    o.textContent = +o.textContent ? 0 : 1
})
</script>
Добавил немного новизны, до кучи...
0
Заблокирован
26.12.2025, 01:43  [ТС]
Цитата Сообщение от krvsa Посмотреть сообщение
галиматью
Есть тут одна дамочка которая на сиё весьма вдохновляет..
Я, признаться, в 2012 году про сию интересную особу был ни сном ни духом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2025, 01:43

Удаление выделенных опций Select'a
ребят, такая проблеммка. Есть список, опции которого динамически создаются функцией javascript ...

Сохранение состояния опции "Показать/скрыть блок"
Все привет!:) имеется ссылки &quot;показать блок&quot; и &quot;скрыть блок&quot; и блок div как можно когда установлен...

Условие if в наборе опций плагина
Привет всем! Такая проблемка: При подключении плагина (слайдера) нужно прописать навигационны...

Запретить выбор опции в select по её ID
Здравствуйте, подскажите пожалуйста, как в селекте запретить выбор опции по ее id_value Вот сам...

Опционы не правильно работают
значит есть некий select, option которого заполняется в зависимости от того, что введено в другое...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru