hola estoy trabajando en algo que me exige tener acceso a un rango específico de bits. Decidí usar bitset porque es fácil acceder a bits específicos, pero ¿puedo extraer toda una gama de bits? Métodoen bitset, ¿puedo usar "to_ulong" para un rango específico de bits?
11
A
Respuesta
9
A:
return (the_bitset >> start_bit).to_ulong();
Método B (más rápido que el método A en 100 veces en mi máquina):
unsigned long mask = 1;
unsigned long result = 0;
for (size_t i = start_bit; i < end_bit; ++ i) {
if (the_bitset.test(i))
result |= mask;
mask <<= 1;
}
return result;
+0
'operator []' debe ser más rápido aún ya que no se verifica el límite como en 'test()'. –
Cuestiones relacionadas
- 1. binario serialización de std :: bitset
- 2. ¿Cómo puedo barajar un rango específico de una ArrayList?
- 3. Administrador de Django: ¿Cómo puedo filtrar en un campo entero para un rango específico de valores?
- 4. ¿Cómo usar la función rand para hacer números en un rango específico?
- 5. Sustitución de un rango de bits
- 6. ¿Manera eficiente de iterar sobre bits verdaderos en std :: bitset?
- 7. Bitset Referencia
- 8. ¿Cómo puedo convertir bitset en abreviado en C++?
- 9. ¿Cuántos números de coma flotante distintos en un rango específico?
- 10. Desordenada (hash) map from bitset to bitset on boost
- 11. Convertir un byte o int a BitSet
- 12. ¿Cómo puedo usar OnSeekBarChangeListener de SeekBar para buscar un punto específico en un objeto MediaPlayer?
- 13. Bit campo vs Bitset
- 14. ¿Puedo usar un rango infinito y operar sobre él?
- 15. ¿Cómo puedo obtener un rango específico de bytes en los datos varbinary?
- 16. ¿Puedo modificar theme_menu_link para un menú específico?
- 17. ¿Por qué los bits de un std :: bitset están en orden inverso?
- 18. Convierte BitSet a int
- 19. usando recipiente bitset en C++
- 20. ¿Cómo puedo configurar un trabajo de Hudson para usar un JDK específico?
- 21. Usar Hudson para compilar un commit de git específico
- 22. SQL ROWNUM cómo devolver filas entre un rango específico
- 23. Convertir matriz de bytes en Bitset
- 24. escribiendo un BitSet en un archivo en java
- 25. tiempo específico Rango de consultas en SQL Server
- 26. Cómo envolver cursor Excel para mantenerlo dentro de un rango específico
- 27. BitSet hacia y desde entero/largo
- 28. Fuerza GSON para usar el constructor específico
- 29. ¿Cómo implementar un vector de bits (conjunto de bits) (en Java)?
- 30. Números aleatorios en un rango
Es posible que desee aceptar la respuesta dada. –